home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 5
/
Apprentice-Release5.iso
/
Source Code
/
Libraries
/
WASTE 1.2
/
WEPascalPPCGlue.p
< prev
Wrap
Text File
|
1996-06-11
|
11KB
|
287 lines
unit WEPascalPPCGlue;
{ WASTE Pascal PPC glue code }
{ version 1.2 (June 1996) }
{ RATIONALE: the NewWE≈Proc calls used to create routine descriptors }
{ for several WASTE callbacks are defined as actual entry points in }
{ WASTE.p (if generating code for the PPC), but in the C code they're }
{ really only macros. So when you link a PPC Pascal program to a }
{ WASTE library built from C code, you'll want to include this glue }
{ file to avoid link errors. }
{ Copyright © 1993-1996 Marco Piovanelli }
{ All Rights Reserved }
interface
uses
WASTE;
implementation
{$IFC GENERATINGCFM}
{$PUSH}
{$Z+}
function NewWEClickLoopProc (userRoutine: WEClickLoopProcPtr): WEClickLoopUPP;
begin
NewWEClickLoopProc := NewRoutineDescriptor(userRoutine, uppWEClickLoopProcInfo, GetCurrentArchitecture);
end; { NewWEClickLoopProc }
function NewWEScrollProc (userRoutine: WEScrollProcPtr): WEScrollUPP;
begin
NewWEScrollProc := NewRoutineDescriptor(userRoutine, uppWEScrollProcInfo, GetCurrentArchitecture);
end; { NewWEScrollProc }
function NewWETSMPreUpdateProc (userRoutine: WETSMPreUpdateProcPtr): WETSMPreUpdateUPP;
begin
NewWETSMPreUpdateProc := NewRoutineDescriptor(userRoutine, uppWETSMPreUpdateProcInfo, GetCurrentArchitecture);
end; { NewWETSMPreUpdateProc }
function NewWETSMPostUpdateProc (userRoutine: WETSMPostUpdateProcPtr): WETSMPostUpdateUPP;
begin
NewWETSMPostUpdateProc := NewRoutineDescriptor(userRoutine, uppWETSMPostUpdateProcInfo, GetCurrentArchitecture);
end; { NewWETSMPostUpdateProc }
function NewWETranslateDragProc (userRoutine: WETranslateDragProcPtr): WETranslateDragUPP;
begin
NewWETranslateDragProc := NewRoutineDescriptor(userRoutine, uppWETranslateDragProcInfo, GetCurrentArchitecture);
end; { NewWETranslateDragProc }
function NewWEHiliteDropAreaProc (userRoutine: WEHiliteDropAreaProcPtr): WEHiliteDropAreaUPP;
begin
NewWEHiliteDropAreaProc := NewRoutineDescriptor(userRoutine, uppWEHiliteDropAreaProcInfo, GetCurrentArchitecture);
end; { NewWEHiliteDropAreaProc }
function NewWEDrawTextProc (userRoutine: WEDrawTextProcPtr): WEDrawTextUPP;
begin
NewWEDrawTextProc := NewRoutineDescriptor(userRoutine, uppWEDrawTextProcInfo, GetCurrentArchitecture);
end; { NewWEDrawTextProc }
function NewWEPixelToCharProc (userRoutine: WEPixelToCharProcPtr): WEPixelToCharUPP;
begin
NewWEPixelToCharProc := NewRoutineDescriptor(userRoutine, uppWEPixelToCharProcInfo, GetCurrentArchitecture);
end; { NewWEPixelToCharProc }
function NewWECharToPixelProc (userRoutine: WECharToPixelProcPtr): WECharToPixelUPP;
begin
NewWECharToPixelProc := NewRoutineDescriptor(userRoutine, uppWECharToPixelProcInfo, GetCurrentArchitecture);
end; { NewWECharToPixelProc }
function NewWELineBreakProc (userRoutine: WELineBreakProcPtr): WELineBreakUPP;
begin
NewWELineBreakProc := NewRoutineDescriptor(userRoutine, uppWELineBreakProcInfo, GetCurrentArchitecture);
end; { NewWELineBreakProc }
function NewWEWordBreakProc (userRoutine: WEWordBreakProcPtr): WEWordBreakUPP;
begin
NewWEWordBreakProc := NewRoutineDescriptor(userRoutine, uppWEWordBreakProcInfo, GetCurrentArchitecture);
end; { NewWEWordBreakProc }
function NewWECharByteProc (userRoutine: WECharByteProcPtr): WECharByteUPP;
begin
NewWECharByteProc := NewRoutineDescriptor(userRoutine, uppWECharByteProcInfo, GetCurrentArchitecture);
end; { NewWECharByteProc }
function NewWECharTypeProc (userRoutine: WECharTypeProcPtr): WECharTypeUPP;
begin
NewWECharTypeProc := NewRoutineDescriptor(userRoutine, uppWECharTypeProcInfo, GetCurrentArchitecture);
end; { NewWECharTypeProc }
function NewWENewObjectProc (userRoutine: WENewObjectProcPtr): WENewObjectUPP;
begin
NewWENewObjectProc := NewRoutineDescriptor(userRoutine, uppWENewObjectProcInfo, GetCurrentArchitecture);
end; { NewWENewObjectProc }
function NewWEDisposeObjectProc (userRoutine: WEDisposeObjectProcPtr): WEDisposeObjectUPP;
begin
NewWEDisposeObjectProc := NewRoutineDescriptor(userRoutine, uppWEDisposeObjectProcInfo, GetCurrentArchitecture);
end; { NewWEDisposeObjectProc }
function NewWEDrawObjectProc (userRoutine: WEDrawObjectProcPtr): WEDrawObjectUPP;
begin
NewWEDrawObjectProc := NewRoutineDescriptor(userRoutine, uppWEDrawObjectProcInfo, GetCurrentArchitecture);
end; { NewWEDrawObjectProc }
function NewWEClickObjectProc (userRoutine: WEClickObjectProcPtr): WEClickObjectUPP;
begin
NewWEClickObjectProc := NewRoutineDescriptor(userRoutine, uppWEClickObjectProcInfo, GetCurrentArchitecture);
end; { NewWEClickObjectProc }
function NewWEStreamObjectProc (userRoutine: WEStreamObjectProcPtr): WEStreamObjectUPP;
begin
NewWEStreamObjectProc := NewRoutineDescriptor(userRoutine, uppWEStreamObjectProcInfo, GetCurrentArchitecture);
end; { NewWEStreamObjectProc }
function CallWEClickLoopProc (we: WEReference;
userRoutine: WEClickLoopUPP): Boolean;
begin
CallWEClickLoopProc := Boolean(CallUniversalProc(userRoutine, uppWEClickLoopProcInfo, we));
end; { CallWEClickLoopProc }
procedure CallWEScrollProc (we: WEReference;
userRoutine: WEScrollUPP);
var
retval: LongInt;
begin
retval := CallUniversalProc(userRoutine, uppWEScrollProcInfo, we);
end; { CallWEScrollProc }
procedure CallWETSMPreUpdateProc (we: WEReference;
userRoutine: WETSMPreUpdateUPP);
var
retval: LongInt;
begin
retval := CallUniversalProc(userRoutine, uppWETSMPreUpdateProcInfo, we);
end; { CallWETSMPreUpdateProc }
procedure CallWETSMPostUpdateProc (we: WEReference;
fixLength: LongInt;
inputAreaStart, inputAreaEnd: LongInt;
pinRangeStart, pinRangeEnd: LongInt;
userRoutine: WETSMPostUpdateUPP);
var
retval: LongInt;
begin
retval := CallUniversalProc(userRoutine, uppWETSMPostUpdateProcInfo, we, fixLength, inputAreaStart, inputAreaEnd, pinRangeStart, pinRangeEnd);
end; { CallWETSMPostUpdateProc }
function CallWETranslateDragProc (theDrag: DragReference;
theItem: ItemReference;
requestedType: FlavorType;
putDataHere: Handle;
userRoutine: WETranslateDragUPP): OSErr;
begin
CallWETranslateDragProc := CallUniversalProc(userRoutine, uppWETranslateDragProcInfo, theDrag, theItem, requestedType, putDataHere);
end; { CallWETranslateDragProc }
function CallWEHiliteDropAreaProc (theDrag: DragReference;
hiliteFlag: Boolean;
we: WEReference;
userRoutine: WEHiliteDropAreaUPP): OSErr;
begin
CallWEHiliteDropAreaProc := CallUniversalProc(userRoutine, uppWEHiliteDropAreaProcInfo, theDrag, hiliteFlag, we);
end; { CallWEHiliteDropAreaProc }
procedure CallWEDrawTextProc (pText: Ptr;
textLength: LongInt;
slop: Fixed;
styleRunPosition: JustStyleCode;
we: WEReference;
userRoutine: WEDrawTextUPP);
var
retval: LongInt;
begin
retval := CallUniversalProc(userRoutine, uppWEDrawTextProcInfo, pText, textLength, slop, styleRunPosition, we);
end; { CallWEDrawTextProc }
function CallWEPixelToCharProc (pText: Ptr;
textLength: LongInt;
slop: Fixed;
var width: Fixed;
var edge: SignedByte;
styleRunPosition: JustStyleCode;
hPos: Fixed;
we: WEReference;
userRoutine: WEPixelToCharUPP): LongInt;
begin
CallWEPixelToCharProc := CallUniversalProc(userRoutine, uppWEPixelToCharProcInfo, pText, textLength, slop, width, edge, styleRunPosition, hPos, we);
end; { CallWEPixelToCharProc }
function CallWECharToPixelProc (pText: Ptr;
textLength: LongInt;
slop: Fixed;
offset: LongInt;
direction: Integer;
styleRunPosition: JustStyleCode;
hPos: LongInt;
we: WEReference;
userRoutine: WECharToPixelUPP): Integer;
begin
CallWECharToPixelProc := CallUniversalProc(userRoutine, uppWECharToPixelProcInfo, pText, textLength, slop, offset, direction, styleRunPosition, hPos, we);
end; { CallWECharToPixelProc }
function CallWELineBreakProc (pText: Ptr;
textLength: LongInt;
textStart, textEnd: LongInt;
var textWidth: Fixed;
var textOffset: LongInt;
we: WEReference;
userRoutine: WELineBreakUPP): StyledLineBreakCode;
begin
CallWELineBreakProc := CallUniversalProc(userRoutine, uppWELineBreakProcInfo, pText, textLength, textStart, textEnd, textWidth, textOffset, we);
end; { CallWELineBreakProc }
procedure CallWEWordBreakProc (pText: Ptr;
textLength, offset: Integer;
edge: SignedByte;
var breakOffsets: OffsetTable;
script: ScriptCode;
we: WEReference;
userRoutine: WEWordBreakUPP);
var
retval: LongInt;
begin
retval := CallUniversalProc(userRoutine, uppWEWordBreakProcInfo, pText, textLength, offset, edge, breakOffsets, script, we);
end; { CallWEWordBreakProc }
function CallWECharByteProc (pText: Ptr;
textOffset: Integer;
script: ScriptCode;
we: WEReference;
userRoutine: WECharByteUPP): Integer;
begin
CallWECharByteProc := CallUniversalProc(userRoutine, uppWECharByteProcInfo, pText, textOffset, script, we);
end; { CallWECharByteProc }
function CallWECharTypeProc (pText: Ptr;
textOffset: Integer;
script: ScriptCode;
we: WEReference;
userRoutine: WECharTypeUPP): Integer;
begin
CallWECharTypeProc := CallUniversalProc(userRoutine, uppWECharTypeProcInfo, pText, textOffset, script, we);
end; { CallWECharTypeProc }
function CallWENewObjectProc (var defaultObjectSize: Point;
objectRef: WEObjectReference;
userRoutine: WENewObjectUPP): OSErr;
begin
CallWENewObjectProc := CallUniversalProc(userRoutine, uppWENewObjectProcInfo, defaultObjectSize, objectRef);
end; { CallWENewObjectProc }
function CallWEDisposeObjectProc (objectRef: WEObjectReference;
userRoutine: WEDisposeObjectUPP): OSErr;
begin
CallWEDisposeObjectProc := CallUniversalProc(userRoutine, uppWEDisposeObjectProcInfo, objectRef);
end; { CallWEDisposeObjectProc }
function CallWEDrawObjectProc ({const} var destRect: Rect;
objectRef: WEObjectReference;
userRoutine: WEDrawObjectUPP): OSErr;
begin
CallWEDrawObjectProc := CallUniversalProc(userRoutine, uppWEDrawObjectProcInfo, destRect, objectRef);
end; { CallWEDrawObjectProc }
function CallWEClickObjectProc (hitPoint: Point;
modifiers: EventModifiers;
clickTime: LongInt;
objectRef: WEObjectReference;
userRoutine: WEClickObjectUPP): Boolean;
begin
CallWEClickObjectProc := Boolean(CallUniversalProc(userRoutine, uppWEClickObjectProcInfo, hitPoint, modifiers, clickTime, objectRef));
end; { CallWEClickObjectProc }
function CallWEStreamObjectProc (destKind: Integer;
var theType: FlavorType;
putDataHere: Handle;
objectRef: WEObjectReference;
userRoutine: WEStreamObjectUPP): OSErr;
begin
CallWEStreamObjectProc := CallUniversalProc(userRoutine, uppWEStreamObjectProcInfo, destKind, theType, putDataHere, objectRef);
end; { CallWEStreamObjectProc }
{$POP}
{$ENDC}
end.